﻿#ifndef WRFLOWEDLAYOUTWIDGET_H
#define WRFLOWEDLAYOUTWIDGET_H

#include <QWidget>
#include <QScrollArea>
#include <WRFlowedLayout.h>
#include <QResizeEvent>

//表示流布局控件。
class WRSOFT_GUIAPP_COMMON_CLASS WRFlowedWidget : public QWidget
{
    Q_OBJECT

private:
    QScrollArea* m_scroll;
    QWidget* m_content;
    WRFlowedLayout* m_layout;

protected:
    //处理大小改变事件。
    void resizeEvent(QResizeEvent *);

public:
    //初始化控件。
    explicit WRFlowedWidget(QWidget* parent = 0);

    //获取子控件数量。
    int count(void) const;

    //获取指定索引的子控件。
    QWidget* index(int index) const;

    //添加子控件。
    void add(QWidget* widget);
    //插入子控件。
    void insert(int index, QWidget* widget);
    //移除指定索引的子控件。
    QWidget* remove(int index);
};

#endif // WRFLOWEDLAYOUTWIDGET_H
